package conservare.modelo.banco;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name="tb_carteira_boleto")
public class CarteiraBoleto implements Serializable {
	private static final long serialVersionUID = -8866120711482907563L;

	@EmbeddedId
	private CarteiraBoletoPk id;
	
	/*@Column(name="NUM_CARTEIRA")
	private Integer numeroDaCarteira;*/
	

	
	
	@Column(name="especie_doc")
	private String especieDoDocumento;
	
	@Column(name="aceite")
	private String aceite;
	
	@Column(name="nao_receber_apos_x_dias")
	private Integer naoReceberAposXDias = 30;
	
	@Column(name="perc_multa_apos_venc")
	private BigDecimal percentualMulta = new BigDecimal(0.00);
	
	@Column(name="perc_juros_mora_ao_dia")
	private BigDecimal percentualJurosMora = new BigDecimal(0.0);
	
	@Column(name="texto_local_pagamento")
	private String textoLocalDePagamento;
	
	@Column(name="texto_instrucao1")
	private String textoInstrucao1;
		
	@Column(name="texto_instrucao2")
	private String textoInstrucao2;
	
	@Column(name="texto_instrucao3")
	private String textoInstrucao3;
	
	@Column(name="texto_instrucao4")
	private String textoInstrucao4;
	
	@Column(name="texto_instrucao5")
	private String textoInstrucao5;
	
	@Column(name="texto_instrucao6")
	private String textoInstrucao6;
	
	@Column(name="texto_instrucao7")
	private String textoInstrucao7;
	
	@Column(name="texto_instrucao8")
	private String textoInstrucao8;
	

	public CarteiraBoleto() {
		
	}
	
	public Integer getNumeroCarteira(){
		return getId().getNumeroCarteira();
	}
	
	
	public String getModalidade(){
		return getId().getModalidade();
	}
	
	public String getEspecieDoDocumento() {
		return especieDoDocumento;
	}
	public void setEspecieDoDocumento(String especieDoDocumento) {
		this.especieDoDocumento = especieDoDocumento;
	}
	public String getAceite() {
		return aceite;
	}
	public void setAceite(String aceite) {
		this.aceite = aceite;
	}


	public Integer getNaoReceberAposXDias() {
		return naoReceberAposXDias;
	}
	public void setNaoReceberAposXDias(Integer naoReceberAposXDias) {
		this.naoReceberAposXDias = naoReceberAposXDias;
	}
	public BigDecimal getPercentualMulta() {
		return percentualMulta;
	}
	public void setPercentualMulta(BigDecimal percentualMulta) {
		this.percentualMulta = percentualMulta;
	}
	public BigDecimal getPercentualJurosMora() {
		return percentualJurosMora;
	}
	public void setPercentualJurosMora(BigDecimal percentualJurosMora) {
		this.percentualJurosMora = percentualJurosMora;
	}
	public String getTextoLocalDePagamento() {
		return textoLocalDePagamento;
	}
	public void setTextoLocalDePagamento(String textoLocalDePagamento) {
		this.textoLocalDePagamento = textoLocalDePagamento;
	}
	public String getTextoInstrucao1() {
		return textoInstrucao1;
	}
	public void setTextoInstrucao1(String textoInstrucao1) {
		this.textoInstrucao1 = textoInstrucao1;
	}
	public String getTextoInstrucao2() {
		return textoInstrucao2;
	}
	public void setTextoInstrucao2(String textoInstrucao2) {
		this.textoInstrucao2 = textoInstrucao2;
	}
	public String getTextoInstrucao3() {
		return textoInstrucao3;
	}
	public void setTextoInstrucao3(String textoInstrucao3) {
		this.textoInstrucao3 = textoInstrucao3;
	}
	public String getTextoInstrucao4() {
		return textoInstrucao4;
	}
	public void setTextoInstrucao4(String textoInstrucao4) {
		this.textoInstrucao4 = textoInstrucao4;
	}
	public String getTextoInstrucao5() {
		return textoInstrucao5;
	}
	public void setTextoInstrucao5(String textoInstrucao5) {
		this.textoInstrucao5 = textoInstrucao5;
	}
	public String getTextoInstrucao6() {
		return textoInstrucao6;
	}
	public void setTextoInstrucao6(String textoInstrucao6) {
		this.textoInstrucao6 = textoInstrucao6;
	}
	public String getTextoInstrucao7() {
		return textoInstrucao7;
	}
	public void setTextoInstrucao7(String textoInstrucao7) {
		this.textoInstrucao7 = textoInstrucao7;
	}
	public String getTextoInstrucao8() {
		return textoInstrucao8;
	}
	public void setTextoInstrucao8(String textoInstrucao8) {
		this.textoInstrucao8 = textoInstrucao8;
	}
	
	public CarteiraBoletoPk getId() {
		return id;
	}
	
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		CarteiraBoleto other = (CarteiraBoleto) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
	
	
	
}
